package com.xiguanlezz.cn.common.remote.client.grpc;

import com.xiguanlezz.cn.common.remote.client.RpcClientConfig;

/**
 * @Author：习惯了种种
 * @CreateDate：2024/11/19 15:42
 * @Description：GRPC客户端配置接口
 */
public interface GrpcClientConfig extends RpcClientConfig {

    /**
     * 线程池中核心线程的数量
     */
    int threadPoolCoreSize();

    /**
     * 线程池中线程的最大数量
     */
    int threadPoolMaxSize();

    /**
     * 线程池中线程的存活时间
     */
    long threadPoolKeepAlive();

    /**
     * 客户端探测服务端的超时时间
     */
    long serverCheckTimeOut();

    /**
     * 线程池中队列的容量
     */
    int threadPoolQueueSize();

    /**
     * 入站消息的最大容量
     */
    int maxInboundMessageSize();

    /**
     * channel保活的间隔
     */
    int channelKeepAlive();

    /**
     * channel保活的超时时间
     */
    long channelKeepAliveTimeout();

    /**
     * 能力点协商的超时时间
     */
    long capabilityNegotiationTimeout();

}
